home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 25 / CU Amiga Magazine's Super CD-ROM 25 (1998)(EMAP Images)(GB)(Track 1 of 2)[!][issue 1998-08].iso / CUCD / Programming / dclistview / dclisttest.e next >
Encoding:
Text File  |  1998-06-02  |  1.7 KB  |  61 lines

  1. OPT PREPROCESS, OSVERSION=37
  2.  
  3. MODULE 'tools/exceptions', 'tools/EasyGUI', 'exec/nodes', 'exec/lists',
  4.        'plugins/dclistview', 'tools/constructors', 'utility/tagitem'
  5.  
  6. DEF result=-1
  7.  
  8. PROC main() HANDLE
  9.   DEF dclist:PTR TO dclistview
  10.   DEF list, a, nodes
  11.  
  12. -> let's make up a quick list
  13.   list:=newlist()
  14.   nodes:=['zero','one','two','three','four','five','six','seven',
  15.           'eight','nine','ten','eleven','twelve','thirteen','fourteen']
  16.   ForAll({a}, nodes, `AddTail(list, newnode(NIL, a)))
  17.  
  18.   NEW dclist.dclistview([DCLV_LABEL, 'L_abel',
  19.                          DCLV_RELX, 15,
  20.                          DCLV_RELY, 7,
  21.                          DCLV_LIST, list,
  22.                          DCLV_CURRENT, result,
  23.                          TAG_DONE])
  24.   easyguiA('Double Click test',
  25.           [EQROWS,
  26.             [DCLIST, {listaction},dclist,TRUE],
  27.             [EQCOLS,
  28.               [SBUTTON, {okaction}, '_OK', dclist, "o"],
  29.               [SBUTTON, {disable}, '_Disable', dclist, "d"],
  30.               [SBUTTON, {cancelaction}, '_Cancel', NIL, "c"]
  31.             ]
  32.           ])
  33. EXCEPT DO
  34.   END dclist
  35.   IF exception<>"QUIT" THEN report_exception()
  36. ENDPROC
  37.  
  38. PROC listaction(info, dclist:PTR TO dclistview)
  39.   IF dclist.get(DCLV_CLICK) THEN okaction(dclist, NIL)
  40.   PrintF('Current Selection: \d\n',dclist.get(DCLV_CURRENT))
  41. ENDPROC
  42.  
  43. PROC okaction(dclist:PTR TO dclistview, info)
  44.   IF (result:=dclist.get(DCLV_CURRENT))= -1
  45.     PrintF('No selection made\n')
  46.     cancelaction(info)
  47.   ENDIF
  48.   PrintF('Final Selection: \d\n',result)
  49.   quitgui(result)
  50. ENDPROC
  51.  
  52. PROC disable(dclist:PTR TO dclistview, info) IS dclist.set(DCLV_DISABLED, dclist.get(DCLV_DISABLED)=FALSE)
  53.  
  54. PROC cancelaction(info)
  55.   PrintF('Operation cancelled.\n')
  56.   quitgui()
  57. ENDPROC
  58.  
  59. vers: CHAR 0, '$VER: dclisttest 1.4 (2.6.98)', 0
  60.  
  61.